package service;

import model.User;
import java.util.List;

public interface UserService { // 用户业务逻辑接口 完成人：姜凯严、邓亦明 7/5
    User login(String username, String password); // 登录

    User findById(int userId); // 根据ID查找用户

    List<User> findAll(); // 查询所有用户

    boolean addUser(User user); // 添加用户

    boolean addUser(String username, String password); // 添加用户（仅用户名和密码）

    boolean updateUser(User user); // 修改用户

    boolean deleteUser(int userId); // 删除用户

    List<User> findByUsername(String username); // 根据用户名查找用户

    List<User> findByPhone(String phone); // 根据电话查找用户

    List<User> findByUsernameAndPhone(String username, String phone); // 根据用户名和电话查找用户

    /**
     * 扣除用户余额。
     * 
     * @param user   要扣除余额的用户对象
     * @param amount 要扣除的金额
     * @return 扣除成功返回true，余额不足或更新失败返回false
     */
    boolean deductBalance(User user, double amount);
}